package jp.co.nes.awssupport.common.bean;

import java.math.BigDecimal;
import java.time.ZonedDateTime;

/**
 * 融通リザーブド管理です。
 */
public class BlendedReservedManageBean extends BaseBean {

    /** serialVersionUID */
    private static final long serialVersionUID = 1L;

    /** UUID */
    private String uuid;

    /** バケット名 */
    private String bucketName;

    /** オブジェクトキー */
    private String objectKey;

    /** レコードID */
    private String recordId;

    /** 料金プランID */
    private String pricingPlanId;

    /** 連結アカウントID */
    private String linkedAccountId;

    /** 使用開始日時 */
    private ZonedDateTime usageStartDate;

    /** 使用終了日時 */
    private ZonedDateTime usageEndDate;

    /** 使用量 */
    private BigDecimal usageQuantity;

    /**
     * デフォルトコンストラクタです。
     */
    public BlendedReservedManageBean() {
    }

    /**
     * UUIDを返却します。
     *
     * @return UUID
     */
    public String getUuid() {
        return uuid;
    }

    /**
     * UUIDを設定します。
     *
     * @param uuid UUID
     */
    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    /**
     * バケット名を返却します。
     *
     * @return バケット名
     */
    public String getBucketName() {
        return bucketName;
    }

    /**
     * バケット名を設定します。
     *
     * @param bucketName バケット名
     */
    public void setBucketName(String bucketName) {
        this.bucketName = bucketName;
    }

    /**
     * オブジェクトキーを返却します。
     *
     * @return オブジェクトキー
     */
    public String getObjectKey() {
        return objectKey;
    }

    /**
     * オブジェクトキーを設定します。
     *
     * @param objectKey オブジェクトキー
     */
    public void setObjectKey(String objectKey) {
        this.objectKey = objectKey;
    }

    /**
     * レコードIDを返却します。
     *
     * @return レコードID
     */
    public String getRecordId() {
        return recordId;
    }

    /**
     * レコードIDを設定します。
     *
     * @param recordId レコードID
     */
    public void setRecordId(String recordId) {
        this.recordId = recordId;
    }

    /**
     * 料金プランIDを返却します。
     *
     * @return 料金プランID
     */
    public String getPricingPlanId() {
        return pricingPlanId;
    }

    /**
     * 料金プランIDを設定します。
     *
     * @param pricingPlanId 料金プランID
     */
    public void setPricingPlanId(String pricingPlanId) {
        this.pricingPlanId = pricingPlanId;
    }

    /**
     * 連結アカウントIDを返却します。
     *
     * @return 連結アカウントID
     */
    public String getLinkedAccountId() {
        return linkedAccountId;
    }

    /**
     * 連結アカウントIDを設定します。
     *
     * @param linkedAccountId 連結アカウントID
     */
    public void setLinkedAccountId(String linkedAccountId) {
        this.linkedAccountId = linkedAccountId;
    }

    /**
     * 使用開始日時を返却します。
     *
     * @return 使用開始日時
     */
    public ZonedDateTime getUsageStartDate() {
        return usageStartDate;
    }

    /**
     * 使用開始日時を設定します。
     *
     * @param usageStartDate 使用開始日時
     */
    public void setUsageStartDate(ZonedDateTime usageStartDate) {
        this.usageStartDate = usageStartDate;
    }

    /**
     * 使用終了日時を返却します。
     *
     * @return 使用終了日時
     */
    public ZonedDateTime getUsageEndDate() {
        return usageEndDate;
    }

    /**
     * 使用終了日時を設定します。
     *
     * @param usageEndDate 使用終了日時
     */
    public void setUsageEndDate(ZonedDateTime usageEndDate) {
        this.usageEndDate = usageEndDate;
    }

    /**
     * 使用量を返却します。
     *
     * @return 使用量
     */
    public BigDecimal getUsageQuantity() {
        return usageQuantity;
    }

    /**
     * 使用量を設定します。
     *
     * @param usageQuantity 使用量
     */
    public void setUsageQuantity(BigDecimal usageQuantity) {
        this.usageQuantity = usageQuantity;
    }
}
